// 将中断入口写在每个外设驱动中，外部调用外设驱动提供的接口设置事件回调，也许是一个好方法，但会徒增代码量。
#include "components\bstc\bstc.h"
#include "polsys.h"

// 参见库文件 interrupts_hc32f005.c 或者 启动汇编文件 查找中断入口函数名称

void HardFault_Handler(void)
{    
	Pow_Reset();
}

void SysTick_Handler(void)
{
	Polsys_Tick();
}

void PORT0_IRQHandler()
{
	M0P_GPIO->P0ICLR = 0;
}

void PORT1_IRQHandler()
{
	M0P_GPIO->P1ICLR = 0;
}

void PORT2_IRQHandler()
{
	M0P_GPIO->P2ICLR = 0;
}

void PORT3_IRQHandler()
{
	M0P_GPIO->P3ICLR = 0;
}

void UART0_IRQHandler()
{
	if(Uart0_GetRecivedFlag())
	{
		Uart0_ClearRecivedFlag();
		// Smcp_EvReceivedData(Uart0_GetRecivedbyte());
	}
#if (UART0_EN_TXBUFF == 1)
	if(Uart0_GetSentFlag())
	{
		Uart0_ClearSentFlag();
		Uart0_SendComplete();	// 通知 Uart0 驱动程序1个字节 “发送完成”
	}
#endif
}

void WDT_IRQHandler()
{
	Wdt_ClearIntFlag();
	// if(Board_IsSleeping() == false)
	// {
	// 	Pow_Reset();
	// }
}
